corrupted double-linked list

Thread 1 "rocksndiamonds" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff78a1535 in __GI_abort () at abort.c:79
#2  0x00007ffff78f8508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7a0328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff78fec1a in malloc_printerr (str=str@entry=0x7ffff7a01393 "corrupted double-linked list") at malloc.c:5341
#4  0x00007ffff78fee64 in malloc_consolidate (av=av@entry=0x7ffff7a3ac40 <main_arena>) at malloc.c:4488
#5  0x00007ffff7901a58 in _int_malloc (av=av@entry=0x7ffff7a3ac40 <main_arena>, bytes=bytes@entry=4096) at malloc.c:3695
#6  0x00007ffff790356a in __GI___libc_malloc (bytes=4096) at malloc.c:3057
#7  0x00007ffff78ee71c in __GI__IO_file_doallocate (fp=0x555558c1b240) at filedoalloc.c:101
#8  0x00007ffff78fc700 in __GI__IO_doallocbuf (fp=fp@entry=0x555558c1b240) at libioP.h:839
#9  0x00007ffff78fb744 in _IO_new_file_underflow (fp=0x555558c1b240) at fileops.c:493
#10 0x00007ffff78fc7b2 in __GI__IO_default_uflow (fp=0x555558c1b240) at libioP.h:839
#11 0x00007ffff78eff4a in __GI__IO_getline_info (fp=fp@entry=0x555558c1b240, buf=buf@entry=0x7fffffffd823 "\377\377\177", n=4, delim=delim@entry=10, extract_delim=extract_delim@entry=1, 
    eof=eof@entry=0x0) at iogetline.c:60
#12 0x00007ffff78f0038 in __GI__IO_getline (fp=fp@entry=0x555558c1b240, buf=buf@entry=0x7fffffffd823 "\377\377\177", n=<optimized out>, delim=delim@entry=10, extract_delim=extract_delim@entry=1)
    at iogetline.c:34
#13 0x00007ffff78eefeb in _IO_fgets (buf=0x7fffffffd823 "\377\377\177", n=<optimized out>, fp=0x555558c1b240) at iofgets.c:53
#14 0x00005555557152bf in getStringFromFile (file=0x55555fa8ac60, line=0x7fffffffd823 "\377\377\177", size=5) at misc.c:2296
#15 0x0000555555713ea8 in getFileChunk (file=0x55555fa8ac60, chunk_name=0x7fffffffd823 "\377\377\177", chunk_size=0x0, byte_order=0) at misc.c:1407
#16 0x00005555556d5746 in getFileTypeFromMagicBytes (filename=0x55555b8b70b0 "/home/bryan/.rocksndiamonds/levels/Contributions/Contributions_2000/rnd_ben_braithwaite_2/150.level", type=1)
    at files.c:2019
#17 0x00005555556d60b3 in determineLevelFileInfo_Filetype (lfi=0x5555585fb280 <level>) at files.c:2302
#18 0x00005555556d60fb in setLevelFileInfo (level_file_info=0x5555585fb280 <level>, nr=150) at files.c:2313
#19 0x00005555556e02cc in LoadLevel (nr=150) at files.c:6689
#20 0x0000555555662950 in DrawMainMenu () at screens.c:1624
#21 0x00005555556b31ab in RequestQuitGameExt (skip_request=1, quick_quit=1, message=0x5555557c9d60 "Do you really want to quit the game?") at game.c:15028
#22 0x00005555556b3252 in RequestQuitGame (ask_if_really_quit=0) at game.c:15048
#23 0x000055555564ab24 in HandleKey (key=27, key_status=1) at events.c:2376
#24 0x0000555555648c63 in HandleKeyEvent (event=0x7fffffffd990) at events.c:1462
#25 0x0000555555646b84 in HandleEvents () at events.c:249
#26 0x0000555555646d67 in EventLoop () at events.c:348
#27 0x000055555563a1ca in main (argc=1, argv=0x7fffffffdae8) at main.c:7762
(gdb) # was going to restart level, froze on level
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /media/Environ/Compile/rocksndiamonds-4.1.4.1/rocksndiamonds 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe37eb700 (LWP 29575)]
[New Thread 0x7fffe37aa700 (LWP 29576)]
[New Thread 0x7fffe1903700 (LWP 29577)]
rocksndiamonds: frame delay == 40 ms (max. 25 fps / 50 %)
rocksndiamonds: frame delay == 40 ms (max. 25 fps / 50 %)
rocksndiamonds: frame delay == 29 ms (max. 34 fps / 68 %)
rocksndiamonds: frame delay == 125 ms (max. 8 fps / 16 %)

Thread 1 "rocksndiamonds" received signal SIGSEGV, Segmentation fault.
0x00005555556ff272 in MultiMapGadgets (mode=121) at gadgets.c:1525
1525	    int x = gi->x;
(gdb) bt
#0  0x00005555556ff272 in MultiMapGadgets (mode=121) at gadgets.c:1525
#1  0x00005555556ff475 in UnmapAllGadgets () at gadgets.c:1552
#2  0x0000555555657f4c in RequestEnvelope (text=0x5555557ce720 "Level solved! Replace old tape?", req_state=9) at tools.c:4790
#3  0x0000555555658081 in Request (text=0x5555557ce720 "Level solved! Replace old tape?", req_state=9) at tools.c:4859
#4  0x00005555556e2cc0 in SaveTapeCheckedExt (nr=151, msg_replace=0x5555557ce720 "Level solved! Replace old tape?", msg_saved=0x5555557ce701 "Level solved! Tape saved!", req_state_added=8)
    at files.c:8181
#5  0x00005555556e2d48 in SaveTapeChecked_LevelSolved (nr=151) at files.c:8201
#6  0x0000555555687668 in GameEnd () at game.c:4739
#7  0x000055555568761d in GameWon () at game.c:4722
#8  0x00005555556a7dbd in GameActionsExt () at game.c:11371
#9  0x00005555556a8485 in GameActions () at game.c:11625
#10 0x000055555567c8b9 in HandleGameActions () at screens.c:8369
#11 0x0000555555646d83 in EventLoop () at events.c:359
#12 0x000055555563a1ca in main (argc=1, argv=0x7fffffffdae8) at main.c:7762
(gdb) # just finished a level, no prompt to save showed up, time says 12
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /media/Environ/Compile/rocksndiamonds-4.1.4.1/rocksndiamonds 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe37eb700 (LWP 32292)]
[New Thread 0x7fffe37aa700 (LWP 32293)]
[New Thread 0x7fffe1903700 (LWP 32296)]
# level completion color changed to green, didn't increment level, no high score stored
rocksndiamonds: frame delay == 125 ms (max. 8 fps / 16 %)
rocksndiamonds: frame delay == 125 ms (max. 8 fps / 16 %)
[Thread 0x7fffe37aa700 (LWP 32293) exited]
[Thread 0x7fffe37eb700 (LWP 32292) exited]
[Thread 0x7fffe1903700 (LWP 32296) exited]
[Inferior 1 (process 32291) exited normally]
(gdb) # level completion color changed to green, didn't increment level, no high score stored
